#!/usr/bin/env ruby # Method to calculate Tm, melting temperature (short oligos, very rough est. and assumptions) def meltingTemp(dnaSeq, celcius=true) gcCount = dnaSeq.count("gcGC") atCount = dnaSeq.count("atAT") tm = 4 * gcCount + 2 * atCount if(!celcius) tm = (9/5) * tm + 32 end return tm end # Example usage: seq = "aattggcc" puts "#{seq}: #{meltingTemp(seq)}" seq = "aattGGcc" tm2 = meltingTemp(seq, false) puts "#{seq}: #{tm2} in F"